home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Technotools
/
Technotools (Chestnut CD-ROM)(1993).ISO
/
misc_pto
/
addr
/
addr.doc
< prev
next >
Wrap
Text File
|
1989-06-26
|
4KB
|
81 lines
Addr-Break
----------
This is a Public Domain program intended to help find some nasty bugs.
It must be used with a debugger like DEBUG, so, some knowledge of assembly
language and a debugger are necessary.
The program can generate an INT 3 to break from infinite loops, or, if
the keyboard no longer responds, at least show the address where the
running program was executing before the crash.
The only active keys are <CTRL>, <ALT> and <SHIFT>. Pressing <CTRL> and
<ALT> simultaneously will pop up the address window, where you can read
the Code Segment and Instruction Pointer.
Press <CTRL> <ALT> again to close the window.
By holding down <CTRL> and <ALT> and pressing the right or left <SHIT> key,
you can move the window in the corresponding direction. Release the <SHIFT>
key before releasing <CTRL> or <ALT> or you'll activate the breakpoint.
Addr-Break works only for video page 0, but can run both in mono or color
modes.
An amazing capability is that you can generate a breakpoint anywhere, even
in ROM!
----------- O -----------
Limitations: if the user program writes data to video while Addr-Break's
window is open, the screen contents 'under' the window will be lost. This is
not a bug, rather, I decided to do it this way for speed purposes.
Addr-Break works using the timer TIC, so, it can't take more than 1/18 of a
second to refresh the screen. Also, if the bug you're chasing trashes the
interrupt vectors, Addr-Break will also crash.
If the user program misuses INT 8, Addr-Break will not work correctly.
The breakpoint capability is useless in cases where the user program takes
INT 3 for it's own purpose. There are many programs that make use of INT 3,
specially copy-protected software that tries to make a nightmare of debugging
sessions, so, don't expect Addr-Break to work always.
----------- O -----------
You'll find a simple program named 'CRASH.COM' which crashes the machine for
a long time. It's a simple assembly language loop that executes thosands of
times, enough to stop even a fast 386. It's intended as a demo, to show the
capabilities of Addr-Break. If you run CRASH.COM alone, you'll have to
reboot, or wait a LONG time.
This is how it works:
* Run ADDR.COM
* Use your debugger as always and try debugging 'CRASH':
DEBUG CRASH.COM
* at the '-' prompt type 'G' to run 'CRASH'
DO NOT PRESS ^C or ^BREAK or the brakpoint will be useless.
* Press (and hold) <CTRL> <ALT>. You'll see the execution address.
* Keeping <CTRL> down, release and press <ALT> until you reach the address
where you want to break the running program (you can also hold <ALT> and
toggle <CTRL> for the same result).
* When you have the correct address frozen in the screen, press (and hold)
any of the two <SHIFT> keys.
* Release <CTRL> and <ALT>, then release <SHIFT>.
* continue debugging as always or type 'Q' to quit to DOS.
----------- O -----------
Addr-Break is not a demo, you can actually use it to DEBUG any of your
programs eliminating the need for hours of tracing.
Addr-Break is Public Domain, however, a small donation of U$S 10 or less
would be greatly appreciated. If you like this program and find it too
difficult to send money, a postcard will do fine.
Please do not modify Addr-Break, use it as it is. If you upload it to
another BBS please send the original ADDR.ZIP.
If you found Addr-Break useful and have a bright idea for a small assembly
language routine you'd like me to develop, feel free to contact me.
E-Mail: Telecom/Net, 011 541 764-4189 (Argentina) Fido Net 4:1200/112.0.
2400/1200/300 baud, N,8,1, BELL/CCITT.
Pablo Montoreano
O'Higgins 1563 2nd "B"
(1426) Capital Federal.
Buenos Aires
ARGENTINA